/**
 * @overview 饼图的抽象类。声明了一些共用的基本属性配置。定义了解析数据项的方法。
 * @component#iChart.Pie
 * @extend#iChart.Chart
 */
iChart.Pie = iChart.extend(iChart.Chart, {
	/**
	 * initialize the context for the pie
	 */
	configure : function() {
		/**
		 * invoked the super class's configuration
		 */
		iChart.Pie.superclass.configure.call(this);

		this.type = 'pie';
		this.dataType = 'simple';

		this.set({
			/**
			 * @cfg {Float (0~),String} 指定饼图的半径。单位px。如果给出值为字符串百分比形式，则按照绘图区有效最小高度/宽度比计算。(默认为'100%')。
			 */
			radius : '100%',
			/**
			 * @cfg {Number} 第一个扇形区的角度。0代表三点钟方向。(默认为0)
			 */
			offset_angle : 0,
			/**
			 * @cfg {Number(0~90)} 所有扇形分离的角度。单位：角度。(默认为0)
			 */
			separate_angle:0,
			/**
			 * @cfg {String} 触发弹出扇形去的事件。(默认为'click')
			 */
			bound_event : 'click',
			/**
			 * @inner {Boolean} True to make sector counterclockwise.(default to false)
			 */
			counterclockwise : false,
			/**
			 * @cfg {Boolean} 当与其他label有位置冲突时自动浮动其位置.(default to true).
			 */
			intellectLayout : true,
			/**
			 * @cfg {Number} 当与其他label有位置冲突时自动浮动的距离。单位px。(默认为6)
			 */
			layout_distance : 6,
			/**
			 * @inner {Boolean} if it has animate when a piece popd (default to false)
			 */
			pop_animate : false,
			/**
			 * @cfg {Boolean} 是否仅有一块扇形区处于弹出状态。(默认为false)
			 */
			mutex : false,
			/**
			 * @cfg {Number} 扇形区弹出时，位置的偏移量。单位px。默认为1/8*半径。最小值为5。
			 */
			increment : undefined,
			/**
			 * @cfg {Object} 扇形区的配置项。
			 * 可参考:<link>iChart.Sector</link>，<link>iChart.Sector2D</link>，<link>iChart.Sector3D</link>
			 */
			sub_option : {}
		});

		this.registerEvent(
		/**
		 * @event 扇形区弹出时触发
		 * @paramter iChart.Sector2d#sector
		 * @paramter string#name
		 * @paramter int#index
		 */
		'bound',
		/**
		 * @event 扇形区归位时触发
		 * @paramter iChart.Sector2d#sector
		 * @paramter string#name
		 * @paramter int#index
		 */
		'rebound');

		this.sectors = [];
	},
	/**
	 * @method 根据索引切换其弹出/归位扇形。
	 * @paramter int#i the index of sector
	 * @return void
	 */
	toggle : function(i) {
		this.data[i || 0].reference.toggle();
	},
	/**
	 * @method 根据索引弹出扇形。
	 * @paramter int#i 扇形的索引，与数据源顺序相同
	 * @return void
	 */
	bound : function(i) {
		this.data[i || 0].reference.bound();
	},
	/**
	 * @method  根据索引归位扇形。
	 * @paramter int#i 扇形的索引，与数据源顺序相同
	 * @return void
	 */
	rebound : function(i) {
		this.data[i || 0].reference.rebound();
	},
	/**
	 * @method 返回饼图中扇形集合。
	 * @return Array#扇形集合。
	 */
	getSectors : function() {
		
	},
	doAnimation : function(t, d) {
		
	},
	localizer : function(la) {
		
	},
	doParse : function(d, i) {
		
	},
	/**
	 * calculate pie chart's angle
	 */
	calculate : function() {
		
	},
	doConfig : function() {
		
	}
});// @end
